草庐IT

C++ std::regex 多行语法

全部标签

c++ - 如何修剪存储在 std::set 中的字符串?

我正在使用VS2012开发MFC应用程序。在此应用程序中,我想清理CString的容器。使用Trim()对象成员函数。首先,我使用了std::vector作为容器,如下图MCVE:#define_AFXDLL//CString#include//CString#includeintmain(){std::vectorv;v.push_back(_T("Test"));v.begin()->Trim();return0;}这会按预期进行编译和工作。然后,我想更换std::vector通过std::set.因此,我包括了#include而不是#include并更改了main()如下:int

c++ - 将 std::cout 重定向到新创建的控制台

这个问题在这里已经有了答案:Redirectingcouttoaconsoleinwindows(11个答案)关闭8年前。当您在Windows下创建C++控制台应用程序时,您会自动获得为您创建的控制台窗口,并将std::cout输出到控制台窗口。我有一个GUI应用程序,我还想为其创建一个控制台窗口。我可以使用AllocConsole()函数创建控制台窗口,但如何将std::cout重定向/附加到控制台,以便输出显示在控制台窗口中?

windows - 在批处理文件中编写循环的语法

我正在尝试为我经常执行的任务编写一个小的批处理文件。我以前从未使用过for,这是我第一次尝试这个。这是我到目前为止所带来的:for/f%iin('ctfind.-verlbtype(%1)-print')doctlsvt-g%i基本上,它会尝试查找具有给定cleracase标签的所有文件,然后显示这些文件的版本树。问题出在%1中。但是,当我有时尝试运行它时,它会给我一个错误,提示-print)不是预期的,或者有时它只是在命令提示符下打印此命令。我猜它在多个括号之间变得困惑。有什么线索可以解决这个问题吗? 最佳答案 尝试在for中引用

windows - 通过批处理语法查询 Windows 注册表

我正在尝试查询特定的注册表文件夹(或任何你想称呼的文件夹)以获取一些信息。特别是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall文件夹包含已安装软件的列表。问题是每个软件都是通过随机键值识别的,例如{0001B4FD-9EA3-4D90-A79E-FD14BA3AB01D}而不是实际的软件(例如Skype).这使得很难找到Skype标识符,因为我需要遍历此Uninstall文件夹中的所有内容并检查DisplayName值对应于Skype(或任何其他应用程序名称)。我需要使用批处理语法...这是我

windows - 语法错误使用 Windows 替换 ("\\", "\") 作为 Python 中的文件路径

我正在尝试将路径分隔符的双正斜杠更改为单正斜杠。该程序读取一个文本文件,其中包含包含路径的文件列表。我也在使用Windows框。f=open('C:/Users/visc/scratch/scratch_child/test.txt')destination=('C:/Users/visc')#readinputfilelinebylineforlineinf:line=line.replace("\\","/")#splitthedriveandpathusingos.path.splitdrive(drive,path)=os.path.splitdrive(line)#split

windows - 带括号和管道的多行 Windows shell 命令

我正尝试在Windows上使用OpenSSL加密某些表单数据,但我很难弄清楚什么是正确的语法。使用以下命令,OpenSSL返回一条PKCS7消息,但仍然给我一条&wasunexpectedatthistime消息。(opensslsmime-sign-signerclient-public.pem-inkeyclient-private.pem-outformder-nodetach-binary^formkey1=formvalue1^formkey2=formvalue2^formkey3=formvalue3^^^)|opensslsmime-encrypt-des3-binar

windows - powershell/cmd 命令在多个文件中的多行中查找和替换字符串

我以前从未使用过powershell,Google也没有给我确切需要的答案。我希望你们能帮助我。我需要找到目录(包括子目录)中有两行的所有文件:aaaaaabbbbbb并将第二行替换为ccc如果bbbbbb行没有紧跟在aaaaaa之后,则不应进行替换。这是我目前所拥有的:$line3="aaa[]*aaa[]*bbb[]*bbb"Get-ChildItem-exclude*.bak-recurse*.txt|Where-Object{$_.Attributes-ne"Directory"}|ForEach-Object{Copy-Item$_"$($_).bak";$wholeFile

c++ - std::regex_replace 给了我意想不到的结果

我在C++Windows项目(VisualStudio2010)中使用std::regex_replace。代码如下所示:std::stringstr("http://www.wikipedia.org/");std::regexfromRegex("http://([^@:/]+\\.)?wik(ipedia|imedia)\\.org/",std::regex_constants::icase);std::stringfmt("https://$1wik$2.org/");std::stringresult=std::regex_replace(str,fromRegex,fmt)

c++ - 使用 C++/STL 将 std::vector<CString> 展平为 multi_sz 的推荐方法是什么

我想将存储在std::vector中的字符串列表(ATL::CString)写入Windows注册表中的REG_MULTI_SZ值。我知道如何在普通C中执行此操作(迭代一次以获得总长度,分配一个缓冲区,将字符串复制到由“\0”分隔的缓冲区)。知道我使用STL尝试了以下操作(抱歉,我必须将VS2010与“foreach”一起使用):std::vectormultiline_sz;foreach(CStringentryinmyStringList){TCHAR*buf=entry.GetBuffer();multiline_sz.insert(multiline_sz.end(),&bu

regex - Windows 批处理文件中的正则表达式

我正在寻找使用批处理作业重命名多个文件的方法。是的,我知道有很多应用程序可以实现这一点。但是我需要一种自动化的方式,比如我可以从调度程序(SOS作业调度程序)调用的批处理文件。我们每天需要重命名数百个文件!目标是设置文件开头的17-25个字符。00010028229720270014468393_TB-E.pdf->00144683930001002822972027_TB-E.pdf000100282297202700144683931ESR-AF.pdf->001446839300010028229720271ESR-AF.pdf00010031141040250016353371